package com.project.controller;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.project.bean.InventoryBean;
import com.project.bean.InventoryInfoBean;
import com.project.service.IAllGoodsService;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
@RequestMapping("AllGoods")
public class AllGoodsController {
    @Autowired
    private IAllGoodsService IAllGoodsService;
    /**
     * 动态条件分页查找所有库存商品
     * @param pageNO    页码
     * @param commodityName 商品名
     * @param type  商品类型
     * @return
     */
    @GetMapping("findAllGoodsItem")
    IPage<InventoryBean> findAllGoodsItem(int pageNO, String commodityName, String type){
        return IAllGoodsService.findAllGoodsItem(pageNO,commodityName,type);
    }

    /**
     * 通过库存商品id，查出商品的详细信息
     *
     * @param id 库存商品id
     * @return
     */
    @GetMapping("findGoodsById")
    IPage<InventoryInfoBean> findGoodsById(int pageNO, String id){
        return IAllGoodsService.findGoodsById(pageNO,id);
    }

    /**
     * 通过库存商品的id，查出商品的所有颜色，并去重
     * @param id 库存商品的id
     * @return
     */
    @GetMapping("findGoodsColorsById")
    List<InventoryInfoBean> findGoodsColorsById(String id){
        return IAllGoodsService.findGoodsColorsById(id);
    }


    /**
     * 通过库存商品id，查出商品详细信息后通过选择颜色进行分类查看。
     * @param pageNO    页码
     * @param id    库存商品的id
     * @param color 商品颜色
     * @return
     */
    @GetMapping("findGoodsByColor")
    IPage<InventoryInfoBean> findGoodsByColor(int pageNO,String id,String color){
        return IAllGoodsService.findGoodsByColor(pageNO, id, color);
    }

}
